#
# OIDItem
# Copyright (C) 2010 Open Sistemas <imasd@opensistemas.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
package OpenSistemas::OID::Item;

use strict;
use warnings;
use Carp;

sub new
{
	my $pkg = shift;
  my $opts = shift;

  my $self = {
    %$opts
  };

	bless $self, $pkg;

	return $self;
}

sub value
{
  my $self = shift;

  return $self->{value};
}

sub asn
{
  my $self = shift;

  return $self->{asn};
}

sub oid
{
  my $self = shift;

  return $self->{oid};
}

sub eventid
{
  my $self = shift;

  croak "No eventid for this item, " .$self->{oid} if !$self->{eventid};

  return $self->{eventid};
}

sub to_string
{
  my $self = shift;
  my $str;

  foreach(keys(%{$self}))
  {
    $str .= $_ .": " .($self->{$_} ? $self->{$_} : '<empty>') ." ";
  }

  return $str;
}

1;
